package com.itany.corejava.code05_数组;

/**
 * @author 石小俊
 * @date 2024年01月11日 14:19
 */
public class Test01_数组基本用法 {

    public static void main(String[] args) {
        test03();
    }

    public static void test01() {
        // 方式一:主流定义方式
        // 数据类型指的是定义的数组中所有元素的类型
        // 数组长度指的是的开辟的一串连续空间中空间的个数
        // 或者说数组中元素的数量
        // 语法:数据类型[] 变量名 = new 数据类型[数组长度]
        // 定义了一个int类型的数组,共有五个元素
        // 此时的元素并没有赋值
        int[] nums = new int[5];
        boolean[] bs = new boolean[2];
        double[] ds = new double[2];
        char[] cs = new char[3];
        String[] names = new String[4];

        // 可以通过数组下标访问数组元素
        // 当元素没有赋值时,数组会为每一个元素设置一个默认值
        // 根据元素的数据类型不同,默认值也不同
        System.out.println(nums[0]);
        System.out.println(bs[1]);
        System.out.println(ds[0]);
        System.out.println(cs[0]);
        System.out.println(names[0]);
    }

    public static void test02() {
        // 方式二:非主流方式,该方式最初是为了照顾C语言程序员的习惯
        // 该方式在正式开发中不建议使用
        // 数据类型 变量名[] = new 数据类型[数组长度]
        int nums[] = new int[3];
        System.out.println(nums[2]);
    }

    public static void test03() {
        // 方式三:定义数组的同时为数组的元素赋值
        // 此时不需要指定数组长度,其长度即为元素的数量
        // 数据类型[] 变量名 = new 数据类型[]{元素1,元素2,元素3...}
        int[] nums = new int[]{1, 2, 3, 4, 5};
        System.out.println(nums[0]);
        System.out.println(nums[1]);
        System.out.println(nums[2]);
        System.out.println(nums[3]);
        System.out.println(nums[4]);

        // 简写方式:数据类型[] 变量名 = {元素1,元素2,元素3...}
        String[] names = {"admin", "alice", "jack", "tom"};
        System.out.println(names[0]);
        System.out.println(names[1]);
        System.out.println(names[2]);
        System.out.println(names[3]);
    }
}
